/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package studente;

import ejb.GestoreArticoloLocal;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Administrator
 */
@ManagedBean(name="PubblicaArticolo")
@RequestScoped
public class PubblicaArticolo {


    @EJB
    GestoreArticoloLocal ga;
    private String titolo;
    private String articolo;
    private String idCorso;
    private String message;
    private String message2;


    /** Creates a new instance of PubblicaArticolo */
    public PubblicaArticolo() {
    }

    public String getMessage2() {
        return message2;
    }

    public void setMessage2(String message2) {
        this.message2 = message2;
    }

    public String getTitolo() {
        return titolo;
    }

    public void setTitolo(String titolo) {
        this.titolo = titolo;
    }

    public String getArticolo() {
        return articolo;
    }

    public void setArticolo(String articolo) {
        this.articolo = articolo;
    }

    public String getIdCorso() {
        return idCorso;
    }

    public void setIdCorso(String idCorso) {
        this.idCorso = idCorso;
    }

    public String getMessage() {
        return message;
    }

    

    public String pubblica(){
        PrintWriter pw = null;
        String link = titolo + ".txt";
        File f = new File(link);
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession)context.getExternalContext().getSession(false);
        String studId = session.getAttribute("id").toString();
        int idStudente = Integer.parseInt(studId);
        try {
            pw = new PrintWriter(f);
            pw.println(articolo);
        } catch (IOException ex) {
              Logger.getLogger(PubblicaArticolo.class.getName()).log(Level.SEVERE, null, ex);
              message = "Si è verificato un errore durante la pubblicazione";
              return "errorePubblicazione";
        }
        pw.close();
        message = "";
        try{
            ga.pubblicaStudente(new Date(), titolo, link, idStudente, new Integer(idCorso));
        }catch(NumberFormatException nfe){
            message = "Devi iscriverti prima ad un Corso";
            return "errorePubblicazione";
        }
        message2 = "Articolo pubblicato e in attesa di approvazione";
        return "articoloPubblicato";
    }





}
